<?php

include_once ('bd/ModeloBD.php');

class ModeloOferta extends ModeloBD {

    private $ofertacodsx;
    private $tipopcodsx;
    private $subacocodsx;
    private $tipocargocodsx;
    private $usucodsx;
    private $estofercodsx;
    private $ofertapuesto;
    private $ofertafunciones;
    private $ofertatextolibre;
    private $ofertasalario;
    private $ofertasexo;
    private $ofertafecha;
    private $ofertaresumen;
    private $ofertafechavenci;
    private $ofertaestado;

    public function __construct($ofertacodsx = "",$tipopcodsx = "", $subacocodsx = "", $tipocargocodsx = "", $usucodsx = "", $estofercodsx = "", $ofertapuesto = "", $ofertafunciones = "", $ofertatextolibre = "", $ofertasalario = "", $ofertasexo = "", $ofertafecha = "", $ofertaresumen = "", $ofertafechavenci = "", $ofertaestado = "") {

        $this->_oBaseDatos = CBaseDatos::get_instancia();
        $this->_oBaseDatos->conectar();
        $this->_sTabla = "oferta";
        $this->ofertacodsx = $ofertacodsx;
        $this->tipopcodsx = $tipopcodsx;
        $this->subacocodsx = $subacocodsx;
        $this->tipocargocodsx = $tipocargocodsx;
        $this->usucodsx = $usucodsx;
        $this->estofercodsx = $estofercodsx;
        $this->ofertapuesto = $ofertapuesto;
        $this->ofertafunciones = $ofertafunciones;
        $this->ofertatextolibre = $ofertatextolibre;
        $this->ofertasalario = $ofertasalario;
        $this->ofertasexo = $ofertasexo;
        $this->ofertafecha = $ofertafecha;
        $this->ofertaresumen = $ofertaresumen;
        $this->ofertafechavenci = $ofertafechavenci;
        $this->ofertaestado = $ofertaestado;
    }

    public function crearOferta() {

        $subacocodsx = $this->subacocodsx;
        $usucodsx = $this->usucodsx;
        $tipocargocodsx = $this->tipocargocodsx;
        $estofercodsx = $this->estofercodsx;
        $ofertapuesto = $this->ofertapuesto;
        $ofertafunciones = $this->ofertafunciones;
        $ofertatextolibre = $this->ofertatextolibre;
        $ofertasalario = $this->ofertasalario;
        $ofertasexo = $this->ofertasexo;
        $ofertaresumen = $this->ofertaresumen;
        $ofertafechavenci = $this->ofertafechavenci;
        $ofertaestado = $this->ofertaestado;
        $ofertafecha = $this->ofertafecha;
        $tipopcodsx = $this->tipopcodsx;


        $sSQL = "INSERT INTO $this->_sTabla
               (tipopcodsx,subacocodsx,tipocargocodsx, usucodsx , estofercodsx, ofertapuesto, ofertafunciones, ofertatextolibre, ofertasalario, ofertasexo ,ofertafecha,ofertaresumen, ofertafechavenci,ofertaestado)
               VALUES('$tipopcodsx','$subacocodsx' , '$tipocargocodsx', '$usucodsx', '$estofercodsx', '$ofertapuesto','$ofertafunciones','$ofertatextolibre','$ofertasalario','$ofertasexo', '$ofertafecha', '$ofertaresumen', '$ofertafechavenci','$ofertaestado')";
        $this->execute($sSQL);
    }

    public function actualizarOferta($ofertacodsx) {

        $subacocodsx = $this->subacocodsx;
        $tipocargocodsx = $this->tipocargocodsx;
        $estofercodsx = $this->estofercodsx;
        $ofertapuesto = $this->ofertapuesto;
        $ofertafunciones = $this->ofertafunciones;
        $ofertatextolibre = $this->ofertatextolibre;
        $ofertasalario = $this->ofertasalario;
        $ofertasexo = $this->ofertasexo;
        $ofertaresumen = $this->ofertaresumen;
        $ofertafechavenci = $this->ofertafechavenci;
        $ofertaestado = $this->ofertaestado;
        $ofertafecha = $this->ofertafecha;
        $tipopcodsx = $this->tipopcodsx;
        $sSQL = "UPDATE $this->_sTabla
                    SET
                    subacocodsx = '$subacocodsx',
                    tipocargocodsx = '$tipocargocodsx',
                    estofercodsx = '$estofercodsx',
                    ofertapuesto = '$ofertapuesto',
                    ofertafunciones = '$ofertafunciones',
                    ofertatextolibre = '$ofertatextolibre',
                    ofertasalario = '$ofertasalario',
                    ofertasexo = '$ofertasexo',
                    ofertaresumen = '$ofertaresumen',
                    ofertafechavenci = '$ofertafechavenci',
                    ofertaestado = '$ofertaestado',
                    ofertafecha = '$ofertafecha',
                    tipopcodsx = '$tipopcodsx'
                    WHERE ofertacodsx =". $ofertacodsx;
        $this->execute($sSQL);
    }

    public function listaOfertas() {
        $arOfertas = null;
        $sSQL = "
            SELECT a.*, c.estofernombre,( SELECT count( b.usucodsx )
            FROM postulacion b WHERE a.ofertacodsx = b.ofertacodsx GROUP BY b.ofertacodsx ) AS postulaciones
        FROM $this->_sTabla a, estadooferta c WHERE a.estofercodsx=c.estofercodsx AND c.estofercodsx=7";
        $arOfertas = $this->query_object($sSQL);
        return $arOfertas;
    }

    public function listaOfertasVencidas($fecha) {
        $arOfertas = null;
        $sSQL = "
            SELECT a.*,( SELECT count( b.usucodsx )
        FROM postulacion b WHERE a.ofertacodsx = b.ofertacodsx GROUP BY b.ofertacodsx ) AS postulaciones
            FROM $this->_sTabla a WHERE ofertafechavenci<='" . $fecha . "'";
        $arOfertas = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arOfertas;
    }

    public function getOfertaById($ofertacodsx) {
        $arOfertas = null;
        $sSQL = "
            SELECT *
            FROM $this->_sTabla   where ofertacodsx=" . $ofertacodsx;
        $arOfertas = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arOfertas;
    }

    public function getAreaBySubArea($subacocodsx) {
        $arArea = null;
        $sSQL = "
            SELECT b.*
            FROM $this->_sTabla a, areaconocimiento b, subareaconocimiento c   where a.subacocodsx=c.subacocodsx AND c.subacocodsx='" . $subacocodsx . "' AND b.acocodsx=c.acocodsx";
        $arArea = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arArea;
    }

    public function listaOfertasFinalizadas() {
        $arOfertas = null;
        $sSQL = "
        SELECT a.*, b.estofernombre,( SELECT count( b.usucodsx )
        FROM postulacion b WHERE a.ofertacodsx = b.ofertacodsx GROUP BY b.ofertacodsx ) AS postulaciones
            FROM $this->_sTabla a, estadooferta b WHERE a.estofercodsx=b.estofercodsx AND b.estofercodsx=9";
        $arOfertas = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arOfertas;
    }

    public function listaOfertasEliminadas() {
        $arOfertas = null;
        $sSQL = "
                    SELECT a.*, b.estofernombre,( SELECT count( b.usucodsx )
        FROM postulacion b WHERE a.ofertacodsx = b.ofertacodsx GROUP BY b.ofertacodsx ) AS postulaciones
            FROM $this->_sTabla a, estadooferta b WHERE a.estofercodsx=8 AND b.estofercodsx=8 GROUP BY a.ofertacodsx";

        $arOfertas = $this->query_object($sSQL);
//        var_dump($arSucursal['usuario'][0]['usucodsx']); //QUERY
//        var_dump($arSucursal[0]->usucodsx); //QUERY_OBJECT
        return $arOfertas;
    }

    /* public function getEmpcodsx() {
      return $this->ofertacodsx;
      }

      public function setEmpcodsx($ofertacodsx) {
      $this->ofertacodsx = $ofertacodsx;
      }

      public function getSecempcodsx() {
      return $this->tipopcodsx;
      }

      public function setSecempcodsx($tipopcodsx) {
      $this->tipopcodsx = $tipopcodsx;
      }

      public function getUsucodsx() {
      return $this->subacocodsx;
      }

      public function setUsucodsx($subacocodsx) {
      $this->subacocodsx = $subacocodsx;
      }

      public function getProvinciacodsx() {
      return $this->tipocargocodsx;
      }

      public function setProvinciacodsx($tipocargocodsx) {
      $this->tipocargocodsx = $tipocargocodsx;
      }

      public function getEmpnit() {
      return $this->usucodsx;
      }

      public function setEmpnit($usucodsx) {
      $this->usucodsx = $usucodsx;
      }

      public function getEmprazonsocial() {
      return $this->estofercodsx;
      }

      public function setEmprazonsocial($estofercodsx) {
      $this->estofercodsx = $estofercodsx;
      }

      public function getEmpdescripcion() {
      return $this->ofertapuesto;
      }

      public function setEmpdescripcion($ofertapuesto) {
      $this->ofertapuesto = $ofertapuesto;
      }

      public function getEmptipo() {
      return $this->ofertafunciones;
      }

      public function setEmptipo($ofertafunciones) {
      $this->ofertafunciones = $ofertafunciones;
      }

      public function getEmpciudad() {
      return $this->ofertatextolibre;
      }

      public function setEmpciudad($ofertatextolibre) {
      $this->ofertatextolibre = $ofertatextolibre;
      }

      public function getEmpcorreo() {
      return $this->ofertasalario;
      }

      public function setEmpcorreo($ofertasalario) {
      $this->ofertasalario = $ofertasalario;
      }

      public function getEmpweb() {
      return $this->ofertasexo;
      }

      public function setEmpweb($ofertasexo) {
      $this->ofertasexo = $ofertasexo;
      }

      public function getEmpexperiencia() {
      return $this->ofertafecha;
      }

      public function setEmpexperiencia($ofertafecha) {
      $this->ofertafecha = $ofertafecha;
      }

      public function getEmpverificado() {
      return $this->ofertaresumen;
      }

      public function setEmpverificado($ofertaresumen) {
      $this->ofertaresumen = $ofertaresumen;
      }

      public function getEmplogo() {
      return $this->ofertafechavenci;
      }

      public function setEmplogo($ofertafechavenci) {
      $this->ofertafechavenci = $ofertafechavenci;
      }

      public function getEmpestado() {
      return $this->ofertaestado;
      }

      public function setEmpestado($ofertaestado) {
      $this->ofertaestado = $ofertaestado;
      } */

    public function actualizarEstado($ofertacodsx) {

        $sSQL = "UPDATE $this->_sTabla
               SET
               estofercodsx = 8
               WHERE ofertacodsx = $ofertacodsx";
        $this->execute($sSQL);
    }

}

?>